home *** CD-ROM | disk | FTP | other *** search
- Building C-64/128 Kermit v2.2 (73) from C64KER.HEX and C64KER.INI
- Last updated: August 23, 1992
- by Kent Sullivan (kentsu@microsoft.com)
-
- These instructions describe how to build C-64/128 Kermit v2.2 (73) from the
- ASCII text files in the Columbia U. archives (or Tape C of the Kermit
- distribution tapes). This method, also known as "bootstrapping", is provided
- for those people who have no file-transfer program with which to obtain the
- ready-to-run Kermit binaries which are also kept in the Kermit archives.
-
-
- Required Files and Equipment
- ----------------------------
-
- The following files are needed in order to build Kermit v2.2 (73):
-
- 1) C64BOOT.BAS
- 2) C64BOOT.C
- 3) C64KER.HEX
- 4) C64KER.INI
- 5) C64KER.GET (this file)
-
- All of these files are available from Columbia U. (archives or tape C).
-
- The following equipment is needed in order to build Kermit v2.2 (73):
-
- 1) Host computer from which the Kermit files will be sent
- 2) C language compiler on host computer
- 3) Dial-in (modem) access to the host computer
- 4) C-64 or C-128 computer
- 5) Disk drive compatible with C-64/128 (tape drives NOT supported)
- 6) 300 bps or faster modem compatible with C-64/128
- 7) Blank formatted disk (CBM)
-
-
- Part One: Getting the Files onto the Host Computer
- --------------------------------------------------
-
- The directions for this part unfortunately cannot be very specific due to the
- wide variety of systems capable of hosting a Kermit build. The goal is to
- transfer the necessary files from Columbia U. (archives or tape C) to the host
- computer (most likely a mainframe or minicomputer where you have an account).
- The necessary files are listed in the Overview section of the document.
-
- If your host computer has Internet access, transferring the files will be as
- easy as using the FTP utility to create a copy of the files. If your host
- computer does not have Internet access, you will need to have your system
- administrator copy the necessary files from Tape C of the Kermit distribution
- to your account on the host computer.
-
-
- Part Two: Preparing for the Download
- ------------------------------------
-
- 1) Use the host computer's C language compiler to compile C64BOOT.C. If the
- C compiler reports any errors, check with your system administrator to see
- if your host computer requires the program to be changed to work properly.
- (The program is known to work fine as-is on the majority of computers
- running the Unix operating system.)
-
- 2) Examine the file C64KER.HEX. Make sure that all of the alphabetic
- characters are in lower case. If they aren't, use a utility on the host
- computer to make them so. (On Unix systems, use the TR utility.)
-
- 3) Print out the file C64BOOT.BAS. Type this program in on your C-64/128
- in uppercase/lowercase mode (not uppercase/graphics mode). You'll know
- you're in the right mode when you can see both uppercase and lowercase
- letters simultaneously as you type.
-
- 4) Carefully check C64BOOT.BAS against the printout and correct any errors.
- (Note: you can leave out a lot of the spaces which are included in the
- program listing. The spaces were added to improve the readability of the
- printout only.)
-
- 5) Save the completed C64BOOT.BAS program to a blank formatted CBM disk.
-
-
- Part Three: Downloading C64KER.HEX
- ----------------------------------
-
- 1) Make sure your C-64/128 and modem are operating correctly.
-
- 2) Load C64BOOT.BAS.
-
- 3) Check the communication parameters of the host computer. Make sure the
- parameters match those of C64BOOT.BAS. The default communication parameters
- for C64BOOT.BAS are: 300 bps, 8 bit word size, no parity bit, 1 stop bit
- (often abbreviated "8-N-1"). To change any of these parameters, modify the
- first OPEN statement in line 50. Some of the other common values are given
- below. If you need some other setup, consult the RS-232 charts in a
- C-64/128 reference guide.
-
- 300 bps, 7-O-1 (7 bits, odd parity): OPEN 1,2,0,CHR$(38) + CHR$(32)
- 300 bps, 7-E-1 (even parity) : OPEN 1,2,0,CHR$(38) + CHR$(96)
- 300 bps, 7-M-1 (mark parity) : OPEN 1,2,0,CHR$(38) + CHR$(160)
- 300 bps, 7-S-1 (space parity) : OPEN 1,2,0,CHR$(38) + CHR$(224)
-
- Note that C64BOOT.BAS is limited to 300 bps communication speed in its
- default form because it is written in BASIC, and BASIC is slow. If you have
- access to a C-64 BASIC compiler (Petspeed, Blitz, BASIC-64, etc.) you could
- try bumping the speed up to 1200 bps. This idea is untested but has a fair
- chance of working.
-
- Also note that C64BOOT.BAS is set for full-duplex (not half) communication.
-
- 4) Run C64BOOT.BAS.
-
- 5) Call the host computer. The procedure for doing this will vary according to
- the type of modem you have for your C-64/128. C64BOOT.BAS does not have an
- autodial feature, so if you cannot send a dial string to the modem from
- terminal mode (like "ATDT <number>" for a Hayes modem) then you will need
- to dial the number manually.
-
- 6) Once connected to the host computer, log into your account.
-
- 7) Make sure the host computer's terminal settings are for (a) no echo and
- (b) end of line character sent to your terminal equals linefeed (ASCII 10).
- The procedure for checking and setting this varies widely from computer to
- computer. On a Xenix system I used recently, I used the command STTY to
- check the terminal settings. I then used the following arguments to STTY
- to set things correctly:
-
- STTY -ECHO -ONLCR -OCRNL
-
- These settings may very well not work for your situation but are provided as
- an example. Consult with your system administrator for assistance. Note:
- If it is impossible to have the host computer send ASCII 10 for an end-of-
- line character but it can send ASCII 13 (carriage return), change the
- CHR$(10) commands to CHR$(13) in lines 205 and 225 of C64BOOT.BAS.
-
- 8) Start the program you compiled from C64BOOT.C earlier. You need to specify
- the file to be downloaded (C64KER.HEX) on the same command line. Example:
-
- C64BOOT C64KER.HEX (assuming that you named the download program C64BOOT)
-
- Note: You will not receive any feedback that C64BOOT has started properly
- (there is no startup message). You will probably also not be able to see
- what you are typing since you have previously told the host computer to not
- not echo what you type.
-
- 9) Press the <F1> key on your C-64/128. C64BOOT.BAS will prompt you for a
- local filename. Respond with the name "kermit" (lowercase, no quotes) and
- press the Return key.
-
- The host computer should then begin sending C64KER.HEX, one line at a time.
- C64BOOT.BAS receives each line and calculates two checksums on each line. If
- the line is ok, C64BOOT.BAS will print a period (".") on your C-64/128's
- screen and write the data to the disk.
-
- If there was a transmission error, such as static on the phone line,
- C64BOOT.BAS will print "Checksum Error - sending nack" on your screen. The
- "nack" means Negative ACKnowledgement and will cause the host computer to re-
- send the line. This error can also occur if the terminal parameters for the
- host computer have not been set correctly or if the communication parameters
- of the host computer and those in C64BOOT.BAS do not match.
-
- If C64BOOT.BAS detects an error in the data itself, however, it will print
- "Data file bad." and will stop execution. This error will occur only if the
- C64KER.HEX file has somehow become corrupted.
-
- The file C64KER.HEX is over 1300 lines long, and each line takes about 6
- seconds to be transmitted. Tests I have done show that the transmission takes
- about 2 - 2.5 hours if no or few transmission errors are encountered.
-
- When transmission is finished, C64BOOT.BAS will print:
-
- kermit downloaded; returning to terminal mode
-
- At this point you should log out of the host computer, then exit C64BOOT.BAS
- by pressing the <F7> key.
-
- Check the size of the file "kermit": it should be 120 disk blocks.
-
-
- Part Four: Creating KERMIT.INI
- ------------------------------
-
- 1) Print out the file C64KER.INI. Type this program in on your C-64/128
- in uppercase/lowercase mode (not uppercase/graphics mode). You'll know
- you're in the right mode when you can see both uppercase and lowercase
- letters simultaneously as you type.
-
- 2) Carefully check C64KER.INI against the printout and correct any errors.
-
- 3) Save the completed C64KER.INI to disk. (You can give it a more meaningful
- name, such as "MAKE KERMIT INI", if you wish.)
-
- 4) Run C64KER.INI. The program will create the file KERMIT.INI, which contains
- initialization parameters required by C-64/128 Kermit. Note: Always keep
- a copy of KERMIT.INI on the same disk as KERMIT. KERMIT will not work
- without KERMIT.INI.
-
- 5) Check the size of the file "kermit.ini": it should be 1 disk block.
-
-
- Part Five: Running Kermit for the First Time
- --------------------------------------------
-
- 1) Load the file "kermit". Load it as a BASIC program, e.g.:
-
- LOAD "KERMIT",8
-
- 2) Make sure the disk with KERMIT.INI on it is in the disk drive.
-
- 3) Run KERMIT.
-
- The disk drive light should come on for a second then you should see the
- Kermit startup message on your screen, at the top.
-
- Assuming that everything is working properly, it would be a good idea to use
- Kermit to download C64KER.DOC, the user guide for C-64/128 Kermit. You may
- want to use a text editor on your host computer to break the file up into
- smaller chunks (7 would be good) to make the file easily viewable/printable
- via a C-64/128 word processor or similar utility.
-
- Finally, if you have a C-128 and would like KERMIT to autoboot on it, you
- can type in C64KER.SEC. This program, when run on your C-128, creates an
- autoboot sector for KERMIT.
-